import json
import re
import os

def extract_title(input):
    input = input.split("请参考如下")[0].rstrip("，")
    return input if input else "请提供文章题目"

def count_chinese_chars(text):
    count = sum(1 for char in text if '\u4e00' <= char <= '\u9fff')
    return count // 10 * 10

def process_json_file(input_file):
    with open(input_file, 'r', encoding='utf-8') as f:
        data = json.load(f)

    filtered_data = [item for item in data if item.get('tags') == "##个人经历##"]
    
    # 创建新格式的数据
    new_data = []
    for item in filtered_data:
        new_item = {
            "system": "你是一个先思考、后动笔的风格型写作助手，专注还原于小戈的语气与叙事方式，读者群体为高知、高收入的中年女性。",
            "instruction": f"请完整撰写一篇模仿于小戈的写作风格的文章。文章字数不少于{count_chinese_chars(item['output'])}字。结构上开头抓人眼球（场景化/问题式切入），中间用个人经历/身边故事展开（细节真实），穿插犀利吐槽/观点（不绕弯子），结尾金句总结（扎心但真诚）",
            "input": extract_title(item["input"]),
            "output": item['output']
        }
        new_data.append(new_item)
    
    output_file = input_file.replace('.json', '_new_format.json')
    with open(output_file, 'w', encoding='utf-8') as f:
        json.dump(new_data, f, ensure_ascii=False, indent=2)
    
    print(f"处理完成，新格式数据已保存到: {output_file}")

if __name__ == "__main__":
    input_file = os.path.join('train_cf/data', '大西瓜籽妈妈.deepseek.chat.cf.json')
    process_json_file(input_file)
    